1. Field of the Invention
The present invention relates to data processing and, in particular, to shared partitions in a logically partitioned data processing system. Still more particularly, the present invention provides a method, apparatus, and program for time slicing in a shared partition.
2. Description of the Related Art
Large symmetric multi-processor data processing systems, such as IBM eServer™ P690 server, available from International Business Machines Corporation, DHP9000 Superdome Enterprise Server, available from Hewlett-Packard Company, and the Sun Fire™ 15K server, available from Sun Microsystems, Inc. may be partitioned and used as multiple smaller systems. These systems are often referred to as logical partitioned (LPAR) data processing systems. A logical partitioned functionality within a data processing system allows multiple copies of a single operating system or multiple heterogeneous operating systems to be simultaneously run on a single data processing system platform.
A partition, within which an operating system image runs, is assigned a non-overlapping subset of the platform's physical resources. These platform allocable resources include one or more architecturally distinct processors with their interrupt management area, regions of system memory, and input/output (I/O) adapter bus slots. The partition's resources are represented by the platform's firmware to the operating system image.
Past implementations had dedicated processor paritions, where LPARs are assigned dedicated physical processors. Shared processor LPAR (SPLPAR) allows LPARs to share the physical processors of a pool of dedicated processors. With SPLPAR, partitions can be assigned fractions of physical processors from this pool, rather than full physical processor, like under the dedicated processor model.
SPLPAR allows several servers to run on one machine. For example, a customer may employ ten servers running at 100 MHz. Each server consumes electricity and generates heat. Upgrading to a single 1 GHz server allows ten instances of an operating system to run on a single machine, thus consuming less energy and generating less heat. Each server may then be implemented as a logical partition receiving 10% of the central processing unit (CPU) resources. An administrator simply sets up each operating system with a target processor percentage of 10%.
In addition to using a fraction or percentage of the physical processors, an operating system typically uses a time slice to run multiple threads. A time slice is a short interval of time allotted to each user or program in a multitasking or timesharing system. The time slice is hard coded into the operating system and does not take into account the possibility of being allocated a fraction of a physical processor in a SPLPAR system.